#ifndef __SUBSCRIBER_H_
#define __SUBSCRIBER_H_

#include <queue>
#include "../../API/Messages/_Message.h"

using namespace std;
using namespace skelepp::API::Messages;

namespace skelepp {
	namespace Core {
		namespace Messaging {
			class _Subscriber {
			private:
				queue<_Message *> _messages;

				virtual void on_receive(_Message *message) {}
			public:
				_Subscriber(void);
				~_Subscriber(void);

				void push(_Message *message) {
					this->on_receive(message);
				}
			};
		}
	}
}

#endif